/**
 *  @file SDLFriendlyShip.h
 *
 *  @date 24-nov-2009
 *  @author Ives van der Flaas
 */

#ifndef SDLFRIENDLYSHIP_H_
#define SDLFRIENDLYSHIP_H_

#include "friendlyShip.h"
#include "multistateRepresentation.h"
#include "SDLTimer.h"

namespace si_sdl
{
/**
 * SDL Representation for a friendly ship...
 * This ship is controlled by a keyboard and
 * has a multistate representation...
 */
class SDLFriendlyShip: public si::FriendlyShip
{
public:
	SDLFriendlyShip();
	virtual ~SDLFriendlyShip();

	std::tr1::shared_ptr<si::Projectile> newBullet();

	virtual void update(double time);

	virtual void fire();

	virtual void takeHit(int hitAmount);

private:
	SDLTimer shotTimer;

	si::StateID fLeft,fCenter,fRight;

};

}

#endif /* SDLFRIENDLYSHIP_H_ */
